Repository navigation
Conversation
3e3655b to
f94589b
Compare
|
d203eed to
0b9375c
Compare
|
Aplicadas las 4 observaciones del review en
Suite: 12 tests en verde (se agregó ExtraPruebas funcionales de los últimos fixes + revalidar comportamiento original en esta build https://runbot.dev-adhoc.com/runbot/batch/107227/build/112004 |
- New module for companies under the DGI "Literal E / IVA mínimo" special regime, inert by default (no auto_install, default regime = general) - Add l10n_uy_edi_taxpayer_regime selection field on res.company - Override _l10n_uy_edi_cfe_A_iddoc to report MntBruto = 3 (zone A10): DGI requires it when Uruware signs the CFE with a special CAE (2, 3, 4) - Override _get_invoice_indicator to report IndFact = 16 (zone B4) where a VAT rate indicator (1/2/3/4) would be used. Per Uruware, conceptual indicators are kept: 5 (free delivery), 6/7 (non billable, e.g. down payments and discount lines) and 10 (exports) - Block CFEs with VAT rates other than 0% as early as possible (each CFE rejected by DGI burns a CAE number): UserError on _post, and the same check on _l10n_uy_edi_check_move for the send path - Tests: expected XMLs for e-Ticket / e-Invoice and their credit/debit notes under the special regime, free delivery (keeps IndFact 5), global discount (IndFactDR 16), no-regression tests asserting that the general regime and export CFEs stay identical to the l10n_uy_edi standard XMLs, and tests for the post/pre-send validation Change note: Las compañías uruguayas inscriptas en el régimen Literal E (IVA mínimo) ahora pueden emitir comprobantes electrónicos válidos desde Odoo: hasta ahora DGI los rechazaba por no incluir los indicadores que exige ese régimen. Se configura desde el nuevo campo "Régimen de contribuyente DGI" en la compañía (además del ajuste correspondiente en Uruware). Si por error se cargan impuestos con IVA distinto de 0%, el sistema avisa al usuario al confirmar la factura para corregirlo antes de enviar nada, evitando rechazos que inutilizan numeración. Los descuentos, entregas gratuitas, anticipos y exportaciones siguen informándose como siempre, según lo confirmado por Uruware.
0b9375c to
e965bca
Compare
|
@roboadhoc nobump r+ |
|
Mezclo debido a la urgencia pero dejo estos comentarios a evaluar por si corresponde hacer fixes: @jue-adhoc
|
|

Qué hace
Nuevo módulo
l10n_uy_edi_special_regimepara que las compañías inscriptas en el régimen Literal E / IVA mínimo de DGI puedan emitir CFE válidos. Hoy DGI los rechaza con:Cuando la empresa está marcada como "Literal E o monotributo" en Uruware, el CFE se firma con CAE especial y DGI exige dos indicadores que
l10n_uy_edino contempla:MntBruto = 3(zona A10 del encabezado) — hoy el nodo ni se emite para líneas exentas.IndFact = 16(zona B4) en lugar de los indicadores de tasa de IVA (1 exento / 2 mínima / 3 básica / 4 otra). Los indicadores conceptuales se mantienen igual que en régimen general — confirmado por Uruware: 5 (entrega gratuita), 6/7 (no facturable: anticipos y líneas de descuento) y 10 (exportación).Cómo
l10n_uy_edi_taxpayer_regimeenres.company(defaultgeneral→ el módulo es inerte salvo configuración explícita; sinauto_install)._l10n_uy_edi_cfe_A_iddoc()(MntBruto=3, solo CFE domésticos) y de_get_invoice_indicator()(mapea a 16 únicamente cuando el nativo devolvería un indicador de tasa). No se hereda el QWeb: el nodoMntBrutoya existe encfe_template.xml, solo se completan los dicts._l10n_uy_edi_check_move()para bloquear el envío si hay líneas con IVA a tasa distinta de 0%: cada rechazo de DGI quema un número de CAE (rechazo definitivo, sin reenvío ni NC).Aplica a e-Ticket (101), e-Factura (111) y sus NC/ND (102/103/112/113). Monotributo y Monotributo MIDES quedan fuera del selection hasta confirmar sus indicadores con Uruware (nota en README).
Tests
expected_cfesdel10n_uy_edi) para los 6 tipos de comprobante en régimen Literal E.IndFact 5; descuento global exento informaIndFactDR 16(siguiendo los indicadores del detalle).l10n_uy_edi(20_e_ticket,40_e_expo_invoice) — garantiza que el módulo no altera el comportamiento estándar.Suite completa en verde:
0 failed, 0 error(s) of 11 tests.Task: https://www.adhoc.inc/odoo/project.task/73403